<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::io::IIrrXMLReader&lt; char_type, super_class &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1io_1_1_i_irr_x_m_l_reader.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::io::IIrrXMLReader&lt; char_type, super_class &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::io::IIrrXMLReader" -->
<p>Interface providing easy read access to a XML file.  
 <a href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="irr_x_m_l_8h_source.html">irrXML.h</a>&gt;</code></p>

<p><a href="classirr_1_1io_1_1_i_irr_x_m_l_reader-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li>virtual <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ad1d9faeae926afc224d9dea0ad7a08ac">~IIrrXMLReader</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#ad1d9faeae926afc224d9dea0ad7a08ac"></a><br/></dl><li>virtual unsigned int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549">getAttributeCount</a> () const =0
<dl class="el"><dd class="mdescRight">Returns attribute count of the current XML node.  <a href="#a8f85253d2efb15061facdb9571b9c549"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#aa0807dc565c67fcf355e656df1a326ef">getAttributeName</a> (int idx) const =0
<dl class="el"><dd class="mdescRight">Returns name of an attribute.  <a href="#aa0807dc565c67fcf355e656df1a326ef"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a41bd71a1b9d4a80cd1d0257dedb35325">getAttributeValue</a> (int idx) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute.  <a href="#a41bd71a1b9d4a80cd1d0257dedb35325"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#adaac9a49b396e7fc2d335335f36391a9">getAttributeValue</a> (const char_type *name) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute.  <a href="#adaac9a49b396e7fc2d335335f36391a9"></a><br/></dl><li>virtual float <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a2b1032f213e9910827842f6057269235">getAttributeValueAsFloat</a> (const char_type *name) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute as float.  <a href="#a2b1032f213e9910827842f6057269235"></a><br/></dl><li>virtual float <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a3a01b3cec9db01d00928074846d39add">getAttributeValueAsFloat</a> (int idx) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute as float.  <a href="#a3a01b3cec9db01d00928074846d39add"></a><br/></dl><li>virtual int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ab37bef58865355a7dba0011a38e6c8e7">getAttributeValueAsInt</a> (const char_type *name) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute as integer.  <a href="#ab37bef58865355a7dba0011a38e6c8e7"></a><br/></dl><li>virtual int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f2d57c9f358b9683fb177f440661426">getAttributeValueAsInt</a> (int idx) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute as integer.  <a href="#a8f2d57c9f358b9683fb177f440661426"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a7674852b2e24b2710b90aab10ef1fc22">getAttributeValueSafe</a> (const char_type *name) const =0
<dl class="el"><dd class="mdescRight">Returns the value of an attribute in a safe way.  <a href="#a7674852b2e24b2710b90aab10ef1fc22"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#aecbe0698e8f9acf88e27dd53da984210">getNodeData</a> () const =0
<dl class="el"><dd class="mdescRight">Returns data of the current node.  <a href="#aecbe0698e8f9acf88e27dd53da984210"></a><br/></dl><li>virtual const char_type * <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a7d745b130c895d0f910f191d04e20e87">getNodeName</a> () const =0
<dl class="el"><dd class="mdescRight">Returns the name of the current node.  <a href="#a7d745b130c895d0f910f191d04e20e87"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33ed">EXML_NODE</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a3482e8e6bdc15965fc6a0bcef6e9a8e0">getNodeType</a> () const =0
<dl class="el"><dd class="mdescRight">Returns the type of the current XML node.  <a href="#a3482e8e6bdc15965fc6a0bcef6e9a8e0"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d">ETEXT_FORMAT</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a9af7e323c292a4836bf4a7c093b4d85a">getParserFormat</a> () const =0
<dl class="el"><dd class="mdescRight">Returns format of the strings returned by the parser.  <a href="#a9af7e323c292a4836bf4a7c093b4d85a"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d">ETEXT_FORMAT</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a00998ef2d3a562d6b2b8302c3430322d">getSourceFormat</a> () const =0
<dl class="el"><dd class="mdescRight">Returns format of the source xml file.  <a href="#a00998ef2d3a562d6b2b8302c3430322d"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a3c85b144e0376c9ff90bce1bbbc338a9">isEmptyElement</a> () const =0
<dl class="el"><dd class="mdescRight">Returns if an element is an empty element, like &lt;foo /&gt;  <a href="#a3c85b144e0376c9ff90bce1bbbc338a9"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a157f458f7dabeeff173f72a0fb443a8e">read</a> ()=0
<dl class="el"><dd class="mdescRight">Reads forward to the next xml node.  <a href="#a157f458f7dabeeff173f72a0fb443a8e"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class char_type, class super_class&gt;<br/>
class irr::io::IIrrXMLReader&lt; char_type, super_class &gt;</h3>

<p>Interface providing easy read access to a XML file. </p>
<p>You can create an instance of this reader using one of the factory functions <a class="el" href="namespaceirr_1_1io.html#a581f4d4648398759c61266d63d7106b1" title="Creates an instance of an UFT-8 or ASCII character xml parser.">createIrrXMLReader()</a>, <a class="el" href="namespaceirr_1_1io.html#a86473ef152c15b685af181a4c5461a5d" title="Creates an instance of an UFT-16 xml parser.">createIrrXMLReaderUTF16()</a> and <a class="el" href="namespaceirr_1_1io.html#ae05bf7ee342431ea8c98fb98e75b974a" title="Creates an instance of an UFT-32 xml parser.">createIrrXMLReaderUTF32()</a>. If using the parser from the Irrlicht Engine, please use <a class="el" href="classirr_1_1io_1_1_i_file_system.html#a167c9fa159d16ee5c56c074636b0865e" title="Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t*)...">IFileSystem::createXMLReader()</a> instead. For a detailed intro how to use the parser, see irrxmlexample and features.</p>
<p>The typical usage of this parser looks like this: </p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">    #include &lt;<a class="code" href="irr_x_m_l_8h.html" title="Header file of the irrXML, the Irrlicht XML parser.">irrXML.h</a>&gt;</span>
    <span class="keyword">using namespace </span>irr; <span class="comment">// irrXML is located in the namespace irr::io</span>
    <span class="keyword">using namespace </span>io;

    <span class="keywordtype">void</span> main()
    {
        <span class="comment">// create the reader using one of the factory functions</span>
        <a class="code" href="namespaceirr_1_1io.html#a1628edbb9d5d53f18c82d2a92b0ad27e" title="A UTF-8 or ASCII character xml parser.">IrrXMLReader</a>* xml = <a class="code" href="namespaceirr_1_1io.html#a581f4d4648398759c61266d63d7106b1" title="Creates an instance of an UFT-8 or ASCII character xml parser.">createIrrXMLReader</a>(<span class="stringliteral">&quot;config.xml&quot;</span>);

        <span class="keywordflow">if</span> (xml == 0)
            <span class="keywordflow">return</span>; <span class="comment">// file could not be opened</span>

        <span class="comment">// parse the file until end reached</span>
        <span class="keywordflow">while</span>(xml-&gt;read())
        {
            <span class="comment">// based on xml-&gt;getNodeType(), do something.</span>
        }

        <span class="comment">// delete the xml parser after usage</span>
        <span class="keyword">delete</span> xml;
    }
</pre></div><p> See irrxmlexample for a more detailed example. </p>

<p>Definition at line <a class="el" href="irr_x_m_l_8h_source.html#l00275">275</a> of file <a class="el" href="irr_x_m_l_8h_source.html">irrXML.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad1d9faeae926afc224d9dea0ad7a08ac"></a><!-- doxytag: member="irr::io::IIrrXMLReader::~IIrrXMLReader" ref="ad1d9faeae926afc224d9dea0ad7a08ac" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::~<a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">IIrrXMLReader</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="irr_x_m_l_8h_source.html#l00280">280</a> of file <a class="el" href="irr_x_m_l_8h_source.html">irrXML.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8f85253d2efb15061facdb9571b9c549"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeCount" ref="a8f85253d2efb15061facdb9571b9c549" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns attribute count of the current XML node. </p>
<p>This is usually non null if the current node is EXN_ELEMENT, and the element has attributes. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns amount of attributes of this xml node. </dd></dl>

</div>
</div>
<a class="anchor" id="aa0807dc565c67fcf355e656df1a326ef"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeName" ref="aa0807dc565c67fcf355e656df1a326ef" args="(int idx) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeName </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns name of an attribute. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">idx,:</td><td>Zero based index, should be something between 0 and <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549" title="Returns attribute count of the current XML node.">getAttributeCount()</a>-1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Name of the attribute, 0 if an attribute with this index does not exist. </dd></dl>

</div>
</div>
<a class="anchor" id="a41bd71a1b9d4a80cd1d0257dedb35325"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValue" ref="a41bd71a1b9d4a80cd1d0257dedb35325" args="(int idx) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValue </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">idx,:</td><td>Zero based index, should be something between 0 and <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549" title="Returns attribute count of the current XML node.">getAttributeCount()</a>-1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute, 0 if an attribute with this index does not exist. </dd></dl>

</div>
</div>
<a class="anchor" id="adaac9a49b396e7fc2d335335f36391a9"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValue" ref="adaac9a49b396e7fc2d335335f36391a9" args="(const char_type *name) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValue </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name,:</td><td>Name of the attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute, 0 if an attribute with this name does not exist. </dd></dl>

</div>
</div>
<a class="anchor" id="a2b1032f213e9910827842f6057269235"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValueAsFloat" ref="a2b1032f213e9910827842f6057269235" args="(const char_type *name) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual float <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValueAsFloat </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute as float. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name,:</td><td>Name of the attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute as float, and 0 if an attribute with this name does not exist or the value could not be interpreted as float. </dd></dl>

</div>
</div>
<a class="anchor" id="a3a01b3cec9db01d00928074846d39add"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValueAsFloat" ref="a3a01b3cec9db01d00928074846d39add" args="(int idx) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual float <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValueAsFloat </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute as float. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">idx,:</td><td>Zero based index, should be something between 0 and <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549" title="Returns attribute count of the current XML node.">getAttributeCount()</a>-1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute as float, and 0 if an attribute with this index does not exist or the value could not be interpreted as float. </dd></dl>

</div>
</div>
<a class="anchor" id="ab37bef58865355a7dba0011a38e6c8e7"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValueAsInt" ref="ab37bef58865355a7dba0011a38e6c8e7" args="(const char_type *name) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValueAsInt </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute as integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name of the attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute as integer, and 0 if an attribute with this name does not exist or the value could not be interpreted as integer. </dd></dl>

</div>
</div>
<a class="anchor" id="a8f2d57c9f358b9683fb177f440661426"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValueAsInt" ref="a8f2d57c9f358b9683fb177f440661426" args="(int idx) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual int <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValueAsInt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute as integer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">idx,:</td><td>Zero based index, should be something between 0 and <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549" title="Returns attribute count of the current XML node.">getAttributeCount()</a>-1. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute as integer, and 0 if an attribute with this index does not exist or the value could not be interpreted as integer. </dd></dl>

</div>
</div>
<a class="anchor" id="a7674852b2e24b2710b90aab10ef1fc22"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getAttributeValueSafe" ref="a7674852b2e24b2710b90aab10ef1fc22" args="(const char_type *name) const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getAttributeValueSafe </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of an attribute in a safe way. </p>
<p>Like <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a41bd71a1b9d4a80cd1d0257dedb35325" title="Returns the value of an attribute.">getAttributeValue()</a>, but does not return 0 if the attribute does not exist. An empty string ("") is returned then. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">name,:</td><td>Name of the attribute. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Value of the attribute, and "" if an attribute with this name does not exist </dd></dl>

</div>
</div>
<a class="anchor" id="aecbe0698e8f9acf88e27dd53da984210"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getNodeData" ref="aecbe0698e8f9acf88e27dd53da984210" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getNodeData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns data of the current node. </p>
<p>Only valid if the node has some data and it is of type EXN_TEXT, EXN_COMMENT, EXN_CDATA or EXN_UNKNOWN. </p>

</div>
</div>
<a class="anchor" id="a7d745b130c895d0f910f191d04e20e87"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getNodeName" ref="a7d745b130c895d0f910f191d04e20e87" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual const char_type* <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getNodeName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the name of the current node. </p>
<p>Only valid, if the node type is EXN_ELEMENT. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Name of the current node or 0 if the node has no name. </dd></dl>

</div>
</div>
<a class="anchor" id="a3482e8e6bdc15965fc6a0bcef6e9a8e0"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getNodeType" ref="a3482e8e6bdc15965fc6a0bcef6e9a8e0" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33ed">EXML_NODE</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getNodeType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the type of the current XML node. </p>

</div>
</div>
<a class="anchor" id="a9af7e323c292a4836bf4a7c093b4d85a"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getParserFormat" ref="a9af7e323c292a4836bf4a7c093b4d85a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d">ETEXT_FORMAT</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getParserFormat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns format of the strings returned by the parser. </p>
<p>This will be UTF8 for example when you created a parser with IrrXMLReaderUTF8() and UTF32 when it has been created using IrrXMLReaderUTF32. It should not be necessary to call this method and only exists for informational purposes. </p>

</div>
</div>
<a class="anchor" id="a00998ef2d3a562d6b2b8302c3430322d"></a><!-- doxytag: member="irr::io::IIrrXMLReader::getSourceFormat" ref="a00998ef2d3a562d6b2b8302c3430322d" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d">ETEXT_FORMAT</a> <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::getSourceFormat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns format of the source xml file. </p>
<p>It is not necessary to use this method because the parser will convert the input file format to the format wanted by the user when creating the parser. This method is useful to get/display additional informations. </p>

</div>
</div>
<a class="anchor" id="a3c85b144e0376c9ff90bce1bbbc338a9"></a><!-- doxytag: member="irr::io::IIrrXMLReader::isEmptyElement" ref="a3c85b144e0376c9ff90bce1bbbc338a9" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::isEmptyElement </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns if an element is an empty element, like &lt;foo /&gt; </p>

</div>
</div>
<a class="anchor" id="a157f458f7dabeeff173f72a0fb443a8e"></a><!-- doxytag: member="irr::io::IIrrXMLReader::read" ref="a157f458f7dabeeff173f72a0fb443a8e" args="()=0" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class char_type , class super_class &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">irr::io::IIrrXMLReader</a>&lt; char_type, super_class &gt;::read </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads forward to the next xml node. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns false, if there was no further node. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="irr_x_m_l_8h_source.html">irrXML.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1io.html">io</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">IIrrXMLReader</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sat Jul 9 2016 18:18:36 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
